export default [
  {
    calcTime: 0,
    password: '1q2w3e4r5t',
    guesses: 364,
    guessesLog10: 2.5611013836490555,
    sequence: [
      {
        pattern: 'dictionary',
        i: 0,
        j: 9,
        token: '1q2w3e4r5t',
        matchedWord: '1q2w3e4r5t',
        rank: 363,
        dictionaryName: 'passwords',
        reversed: false,
        l33t: false,
        baseGuesses: 363,
        uppercaseVariations: 1,
        l33tVariations: 1,
        guesses: 363,
        guessesLog10: 2.559906625036112,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: 4,
        seconds: 13104,
        display: '4 hours',
      },
      onlineNoThrottlingXPerSecond: {
        base: 36,
        seconds: 36.4,
        display: '36 seconds',
      },
      offlineSlowHashingXPerSecond: {
        base: null,
        seconds: 0.0364,
        display: 'less than a second',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 3.64e-8,
        display: 'less than a second',
      },
    },
    score: 0,
    feedback: {
      warning: 'This is a commonly used password.',
      suggestions: ['Add more words that are less common.'],
    },
  },
  {
    calcTime: 0,
    password: '1Q2w3e4r5t',
    guesses: 727,
    guessesLog10: 2.8615344108590377,
    sequence: [
      {
        pattern: 'dictionary',
        i: 0,
        j: 9,
        token: '1Q2w3e4r5t',
        matchedWord: '1q2w3e4r5t',
        rank: 363,
        dictionaryName: 'passwords',
        reversed: false,
        l33t: false,
        baseGuesses: 363,
        uppercaseVariations: 2,
        l33tVariations: 1,
        guesses: 726,
        guessesLog10: 2.8609366207000932,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: 7,
        seconds: 26172,
        display: '7 hours',
      },
      onlineNoThrottlingXPerSecond: {
        base: 1,
        seconds: 72.7,
        display: '1 minute',
      },
      offlineSlowHashingXPerSecond: {
        base: null,
        seconds: 0.0727,
        display: 'less than a second',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 7.27e-8,
        display: 'less than a second',
      },
    },
    score: 0,
    feedback: {
      warning: 'This is a commonly used password.',
      suggestions: ['Add more words that are less common.'],
    },
  },
  {
    calcTime: 0,
    password: '1q2w3e4r5T',
    guesses: 727,
    guessesLog10: 2.8615344108590377,
    sequence: [
      {
        pattern: 'dictionary',
        i: 0,
        j: 9,
        token: '1q2w3e4r5T',
        matchedWord: '1q2w3e4r5t',
        rank: 363,
        dictionaryName: 'passwords',
        reversed: false,
        l33t: false,
        baseGuesses: 363,
        uppercaseVariations: 2,
        l33tVariations: 1,
        guesses: 726,
        guessesLog10: 2.8609366207000932,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: 7,
        seconds: 26172,
        display: '7 hours',
      },
      onlineNoThrottlingXPerSecond: {
        base: 1,
        seconds: 72.7,
        display: '1 minute',
      },
      offlineSlowHashingXPerSecond: {
        base: null,
        seconds: 0.0727,
        display: 'less than a second',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 7.27e-8,
        display: 'less than a second',
      },
    },
    score: 0,
    feedback: {
      warning: 'This is a commonly used password.',
      suggestions: ['Add more words that are less common.'],
    },
  },
  {
    calcTime: 0,
    password: 'abcdefg123',
    guesses: 15000,
    guessesLog10: 4.176091259055681,
    sequence: [
      {
        pattern: 'sequence',
        i: 0,
        j: 6,
        token: 'abcdefg',
        sequenceName: 'lower',
        sequenceSpace: 26,
        ascending: true,
        guesses: 50,
        guessesLog10: 1.6989700043360185,
      },
      {
        pattern: 'sequence',
        i: 7,
        j: 9,
        token: '123',
        sequenceName: 'digits',
        sequenceSpace: 10,
        ascending: true,
        guesses: 50,
        guessesLog10: 1.6989700043360185,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: 6,
        seconds: 540000,
        display: '6 days',
      },
      onlineNoThrottlingXPerSecond: {
        base: 25,
        seconds: 1500,
        display: '25 minutes',
      },
      offlineSlowHashingXPerSecond: {
        base: 2,
        seconds: 1.5,
        display: '2 seconds',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 0.0000015,
        display: 'less than a second',
      },
    },
    score: 1,
    feedback: {
      warning: 'Common character sequences like "abc" are easy to guess.',
      suggestions: [
        'Add more words that are less common.',
        'Avoid common character sequences.',
      ],
    },
  },
  {
    calcTime: 0,
    password: 'TESTERINO',
    guesses: 2486000,
    guessesLog10: 6.395501124305626,
    sequence: [
      {
        pattern: 'dictionary',
        i: 0,
        j: 5,
        token: 'TESTER',
        matchedWord: 'tester',
        rank: 619,
        dictionaryName: 'passwords',
        reversed: false,
        l33t: false,
        baseGuesses: 619,
        uppercaseVariations: 2,
        l33tVariations: 1,
        guesses: 1238,
        guessesLog10: 3.092720644684099,
      },
      {
        pattern: 'bruteforce',
        token: 'INO',
        i: 6,
        j: 8,
        guesses: 1000,
        guessesLog10: 2.9999999999999996,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: 3,
        seconds: 89496000,
        display: '3 years',
      },
      onlineNoThrottlingXPerSecond: {
        base: 3,
        seconds: 248600,
        display: '3 days',
      },
      offlineSlowHashingXPerSecond: {
        base: 4,
        seconds: 248.6,
        display: '4 minutes',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 0.0002486,
        display: 'less than a second',
      },
    },
    score: 2,
    feedback: {
      warning: 'This is similar to a commonly used password.',
      suggestions: [
        'Add more words that are less common.',
        'Capitalize some, but not all letters.',
      ],
    },
  },
  {
    calcTime: 0,
    password: 'aaaaaaa',
    guesses: 85,
    guessesLog10: 1.9294189257142926,
    sequence: [
      {
        pattern: 'repeat',
        i: 0,
        j: 6,
        token: 'aaaaaaa',
        baseToken: 'a',
        baseGuesses: 12,
        repeatCount: 7,
        guesses: 84,
        guessesLog10: 1.9242792860618814,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: 51,
        seconds: 3060,
        display: '51 minutes',
      },
      onlineNoThrottlingXPerSecond: {
        base: 9,
        seconds: 8.5,
        display: '9 seconds',
      },
      offlineSlowHashingXPerSecond: {
        base: null,
        seconds: 0.0085,
        display: 'less than a second',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 8.5e-9,
        display: 'less than a second',
      },
    },
    score: 0,
    feedback: {
      warning: 'Repeated characters like "aaa" are easy to guess.',
      suggestions: [
        'Add more words that are less common.',
        'Avoid repeated words and characters.',
      ],
    },
  },
  {
    calcTime: 0,
    password: 'Daniel',
    guesses: 109,
    guessesLog10: 2.0374264979406234,
    sequence: [
      {
        pattern: 'dictionary',
        i: 0,
        j: 5,
        token: 'Daniel',
        matchedWord: 'daniel',
        rank: 54,
        dictionaryName: 'passwords',
        reversed: false,
        l33t: false,
        baseGuesses: 54,
        uppercaseVariations: 2,
        l33tVariations: 1,
        guesses: 108,
        guessesLog10: 2.0334237554869494,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: 1,
        seconds: 3924,
        display: '1 hour',
      },
      onlineNoThrottlingXPerSecond: {
        base: 11,
        seconds: 10.9,
        display: '11 seconds',
      },
      offlineSlowHashingXPerSecond: {
        base: null,
        seconds: 0.0109,
        display: 'less than a second',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 1.09e-8,
        display: 'less than a second',
      },
    },
    score: 0,
    feedback: {
      warning: 'This is a frequently used password.',
      suggestions: [
        'Add more words that are less common.',
        'Capitalize more than the first letter.',
      ],
    },
  },
  {
    calcTime: 0,
    password: '1234qwer',
    guesses: 105,
    guessesLog10: 2.021189299069938,
    sequence: [
      {
        pattern: 'dictionary',
        i: 0,
        j: 7,
        token: '1234qwer',
        matchedWord: '1234qwer',
        rank: 104,
        dictionaryName: 'passwords',
        reversed: false,
        l33t: false,
        baseGuesses: 104,
        uppercaseVariations: 1,
        l33tVariations: 1,
        guesses: 104,
        guessesLog10: 2.0170333392987803,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: 1,
        seconds: 3780,
        display: '1 hour',
      },
      onlineNoThrottlingXPerSecond: {
        base: 11,
        seconds: 10.5,
        display: '11 seconds',
      },
      offlineSlowHashingXPerSecond: {
        base: null,
        seconds: 0.0105,
        display: 'less than a second',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 1.05e-8,
        display: 'less than a second',
      },
    },
    score: 0,
    feedback: {
      warning: 'This is a commonly used password.',
      suggestions: ['Add more words that are less common.'],
    },
  },
  {
    calcTime: 0,
    password: '1234qwe',
    guesses: 2978,
    guessesLog10: 3.473924693416157,
    sequence: [
      {
        pattern: 'dictionary',
        i: 0,
        j: 6,
        token: '1234qwe',
        matchedWord: '1234qwe',
        rank: 2977,
        dictionaryName: 'passwords',
        reversed: false,
        l33t: false,
        baseGuesses: 2977,
        uppercaseVariations: 1,
        l33tVariations: 1,
        guesses: 2977,
        guessesLog10: 3.4737788346467244,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: 1,
        seconds: 107208,
        display: '1 day',
      },
      onlineNoThrottlingXPerSecond: {
        base: 5,
        seconds: 297.8,
        display: '5 minutes',
      },
      offlineSlowHashingXPerSecond: {
        base: null,
        seconds: 0.2978,
        display: 'less than a second',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 2.978e-7,
        display: 'less than a second',
      },
    },
    score: 1,
    feedback: {
      warning: 'This is a commonly used password.',
      suggestions: ['Add more words that are less common.'],
    },
  },
  {
    calcTime: 0,
    password: '1234qwert',
    guesses: 12288,
    guessesLog10: 4.089481202687437,
    sequence: [
      {
        pattern: 'dictionary',
        i: 0,
        j: 7,
        token: '1234qwer',
        matchedWord: '1234qwer',
        rank: 104,
        dictionaryName: 'passwords',
        reversed: false,
        l33t: false,
        baseGuesses: 104,
        uppercaseVariations: 1,
        l33tVariations: 1,
        guesses: 104,
        guessesLog10: 2.0170333392987803,
      },
      {
        pattern: 'bruteforce',
        token: 't',
        i: 8,
        j: 8,
        guesses: 11,
        guessesLog10: 1.041392685158225,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: 5,
        seconds: 442368,
        display: '5 days',
      },
      onlineNoThrottlingXPerSecond: {
        base: 20,
        seconds: 1228.8,
        display: '20 minutes',
      },
      offlineSlowHashingXPerSecond: {
        base: 1,
        seconds: 1.2288,
        display: '1 second',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 0.0000012288,
        display: 'less than a second',
      },
    },
    score: 1,
    feedback: {
      warning: 'This is similar to a commonly used password.',
      suggestions: ['Add more words that are less common.'],
    },
  },
  {
    calcTime: 0,
    password: 'password',
    guesses: 3,
    guessesLog10: 0.4771212547196623,
    sequence: [
      {
        pattern: 'dictionary',
        i: 0,
        j: 7,
        token: 'password',
        matchedWord: 'password',
        rank: 2,
        dictionaryName: 'passwords',
        reversed: false,
        l33t: false,
        baseGuesses: 2,
        uppercaseVariations: 1,
        l33tVariations: 1,
        guesses: 2,
        guessesLog10: 0.30102999566398114,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: 2,
        seconds: 108,
        display: '2 minutes',
      },
      onlineNoThrottlingXPerSecond: {
        base: null,
        seconds: 0.3,
        display: 'less than a second',
      },
      offlineSlowHashingXPerSecond: {
        base: null,
        seconds: 0.0003,
        display: 'less than a second',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 3e-10,
        display: 'less than a second',
      },
    },
    score: 0,
    feedback: {
      warning: 'This is a heavily used password.',
      suggestions: ['Add more words that are less common.'],
    },
  },
  {
    calcTime: 0,
    password: '2010abc',
    guesses: 15000,
    guessesLog10: 4.176091259055681,
    sequence: [
      {
        pattern: 'regex',
        token: '2010',
        i: 0,
        j: 3,
        regexName: 'recentYear',
        regexMatch: ['2010'],
        guesses: 50,
        guessesLog10: 1.6989700043360185,
      },
      {
        pattern: 'sequence',
        i: 4,
        j: 6,
        token: 'abc',
        sequenceName: 'lower',
        sequenceSpace: 26,
        ascending: true,
        guesses: 50,
        guessesLog10: 1.6989700043360185,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: 6,
        seconds: 540000,
        display: '6 days',
      },
      onlineNoThrottlingXPerSecond: {
        base: 25,
        seconds: 1500,
        display: '25 minutes',
      },
      offlineSlowHashingXPerSecond: {
        base: 2,
        seconds: 1.5,
        display: '2 seconds',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 0.0000015,
        display: 'less than a second',
      },
    },
    score: 1,
    feedback: {
      warning: 'Recent years are easy to guess.',
      suggestions: [
        'Add more words that are less common.',
        'Avoid recent years.',
        'Avoid years that are associated with you.',
      ],
    },
  },
  {
    calcTime: 0,
    password: 'abcabcabcabc',
    guesses: 53,
    guessesLog10: 1.724275869600789,
    sequence: [
      {
        pattern: 'repeat',
        i: 0,
        j: 11,
        token: 'abcabcabcabc',
        baseToken: 'abc',
        baseGuesses: 13,
        repeatCount: 4,
        guesses: 52,
        guessesLog10: 1.716003343634799,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: 32,
        seconds: 1908,
        display: '32 minutes',
      },
      onlineNoThrottlingXPerSecond: {
        base: 5,
        seconds: 5.3,
        display: '5 seconds',
      },
      offlineSlowHashingXPerSecond: {
        base: null,
        seconds: 0.0053,
        display: 'less than a second',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 5.3e-9,
        display: 'less than a second',
      },
    },
    score: 0,
    feedback: {
      warning:
        'Repeated character patterns like "abcabcabc" are easy to guess.',
      suggestions: [
        'Add more words that are less common.',
        'Avoid repeated words and characters.',
      ],
    },
  },
  {
    calcTime: 0,
    password: 'qwer',
    guesses: 1297,
    guessesLog10: 3.1129399760840797,
    sequence: [
      {
        pattern: 'spatial',
        i: 0,
        j: 3,
        token: 'qwer',
        graph: 'qwerty',
        turns: 1,
        shiftedCount: 0,
        guesses: 1296,
        guessesLog10: 3.112605001534574,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: 13,
        seconds: 46692,
        display: '13 hours',
      },
      onlineNoThrottlingXPerSecond: {
        base: 2,
        seconds: 129.7,
        display: '2 minutes',
      },
      offlineSlowHashingXPerSecond: {
        base: null,
        seconds: 0.1297,
        display: 'less than a second',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 1.297e-7,
        display: 'less than a second',
      },
    },
    score: 1,
    feedback: {
      warning: 'Straight rows of keys on your keyboard are easy to guess.',
      suggestions: [
        'Add more words that are less common.',
        'Use longer keyboard patterns and change typing direction multiple times.',
      ],
    },
  },
  {
    calcTime: 0,
    password: 'P4$$w0rd',
    guesses: 33,
    guessesLog10: 1.5185139398778873,
    sequence: [
      {
        pattern: 'dictionary',
        i: 0,
        j: 7,
        token: 'P4$$w0rd',
        matchedWord: 'password',
        rank: 2,
        dictionaryName: 'passwords',
        reversed: false,
        l33t: true,
        subs: [
          {
            letter: 'a',
            substitution: '4',
          },
          {
            letter: 's',
            substitution: '$',
          },
          {
            letter: 'o',
            substitution: '0',
          },
        ],
        subDisplay: '4 -> a, $ -> s, 0 -> o',
        baseGuesses: 2,
        uppercaseVariations: 2,
        l33tVariations: 8,
        guesses: 32,
        guessesLog10: 1.5051499783199058,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: 20,
        seconds: 1188,
        display: '20 minutes',
      },
      onlineNoThrottlingXPerSecond: {
        base: 3,
        seconds: 3.3,
        display: '3 seconds',
      },
      offlineSlowHashingXPerSecond: {
        base: null,
        seconds: 0.0033,
        display: 'less than a second',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 3.3e-9,
        display: 'less than a second',
      },
    },
    score: 0,
    feedback: {
      warning: 'This is similar to a commonly used password.',
      suggestions: [
        'Add more words that are less common.',
        'Capitalize more than the first letter.',
        "Avoid predictable letter substitutions like '@' for 'a'.",
      ],
    },
  },
  {
    calcTime: 0,
    password: 'aA!1',
    guesses: 10001,
    guessesLog10: 4.000043427276863,
    sequence: [
      {
        pattern: 'bruteforce',
        token: 'aA!1',
        i: 0,
        j: 3,
        guesses: 10000,
        guessesLog10: 4,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: 4,
        seconds: 360036,
        display: '4 days',
      },
      onlineNoThrottlingXPerSecond: {
        base: 17,
        seconds: 1000.1,
        display: '17 minutes',
      },
      offlineSlowHashingXPerSecond: {
        base: 1,
        seconds: 1.0001,
        display: '1 second',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 0.0000010001,
        display: 'less than a second',
      },
    },
    score: 1,
    feedback: {
      warning: null,
      suggestions: ['Add more words that are less common.'],
    },
  },
  {
    calcTime: 0,
    password: 'dgo9dsghasdoghi8/!&IT%§(ihsdhf8o7o',
    guesses: 2.34e33,
    guessesLog10: 33.36921585741014,
    sequence: [
      {
        pattern: 'bruteforce',
        token: 'dgo9dsg',
        i: 0,
        j: 6,
        guesses: 10000000,
        guessesLog10: 7,
      },
      {
        pattern: 'dictionary',
        i: 7,
        j: 9,
        token: 'has',
        matchedWord: 'has',
        rank: 24,
        dictionaryName: 'wikipedia-en',
        reversed: false,
        l33t: false,
        baseGuesses: 24,
        uppercaseVariations: 1,
        l33tVariations: 1,
        guesses: 50,
        guessesLog10: 1.6989700043360185,
      },
      {
        pattern: 'dictionary',
        i: 10,
        j: 11,
        token: 'do',
        matchedWord: 'do',
        rank: 22,
        dictionaryName: 'commonWords-en',
        reversed: false,
        l33t: false,
        baseGuesses: 22,
        uppercaseVariations: 1,
        l33tVariations: 1,
        guesses: 50,
        guessesLog10: 1.6989700043360185,
      },
      {
        pattern: 'sequence',
        i: 12,
        j: 14,
        token: 'ghi',
        sequenceName: 'lower',
        sequenceSpace: 26,
        ascending: true,
        guesses: 78,
        guessesLog10: 1.8920946026904801,
      },
      {
        pattern: 'bruteforce',
        token: '8/!&IT%§(ihsdhf8o7o',
        i: 15,
        j: 33,
        guesses: 10000000000000000000,
        guessesLog10: 19,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: null,
        seconds: 8.424e34,
        display: 'centuries',
      },
      onlineNoThrottlingXPerSecond: {
        base: null,
        seconds: 2.34e32,
        display: 'centuries',
      },
      offlineSlowHashingXPerSecond: {
        base: null,
        seconds: 2.34e29,
        display: 'centuries',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 2.34e23,
        display: 'centuries',
      },
    },
    score: 4,
    feedback: {
      warning: null,
      suggestions: [],
    },
  },
  {
    calcTime: 0,
    password: 'AZERYT',
    guesses: 538000,
    guessesLog10: 5.730782275666389,
    sequence: [
      {
        pattern: 'spatial',
        i: 0,
        j: 3,
        token: 'AZER',
        graph: 'azerty',
        turns: 1,
        shiftedCount: 4,
        guesses: 2640,
        guessesLog10: 3.421603926869831,
      },
      {
        pattern: 'bruteforce',
        token: 'YT',
        i: 4,
        j: 5,
        guesses: 100,
        guessesLog10: 2,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: 7,
        seconds: 19368000,
        display: '7 months',
      },
      onlineNoThrottlingXPerSecond: {
        base: 15,
        seconds: 53800,
        display: '15 hours',
      },
      offlineSlowHashingXPerSecond: {
        base: 54,
        seconds: 53.8,
        display: '54 seconds',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 0.0000538,
        display: 'less than a second',
      },
    },
    score: 1,
    feedback: {
      warning: 'Straight rows of keys on your keyboard are easy to guess.',
      suggestions: [
        'Add more words that are less common.',
        'Use longer keyboard patterns and change typing direction multiple times.',
      ],
    },
  },
  {
    calcTime: 0,
    password: 'zxcftzuio',
    guesses: 12790064,
    guessesLog10: 7.106872717643415,
    sequence: [
      {
        pattern: 'bruteforce',
        token: 'z',
        i: 0,
        j: 0,
        guesses: 11,
        guessesLog10: 1.041392685158225,
      },
      {
        pattern: 'spatial',
        i: 1,
        j: 8,
        token: 'xcftzuio',
        graph: 'qwertz',
        turns: 3,
        shiftedCount: 0,
        guesses: 580912,
        guessesLog10: 5.7641103478653735,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: 14,
        seconds: 460442304,
        display: '14 years',
      },
      onlineNoThrottlingXPerSecond: {
        base: 15,
        seconds: 1279006.4,
        display: '15 days',
      },
      offlineSlowHashingXPerSecond: {
        base: 21,
        seconds: 1279.0064,
        display: '21 minutes',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 0.0012790064,
        display: 'less than a second',
      },
    },
    score: 2,
    feedback: {
      warning: 'Short keyboard patterns are easy to guess.',
      suggestions: [
        'Add more words that are less common.',
        'Use longer keyboard patterns and change typing direction multiple times.',
      ],
    },
  },
  {
    calcTime: 0,
    password: 'buy by beer',
    guesses: 1301200000,
    guessesLog10: 9.114344054609814,
    sequence: [
      {
        pattern: 'bruteforce',
        token: 'bu',
        i: 0,
        j: 1,
        guesses: 100,
        guessesLog10: 2,
      },
      {
        pattern: 'repeat',
        i: 2,
        j: 7,
        token: 'y by b',
        baseToken: 'y b',
        baseGuesses: 1001,
        repeatCount: 2,
        guesses: 2002,
        guessesLog10: 3.3014640731432996,
      },
      {
        pattern: 'bruteforce',
        token: 'eer',
        i: 8,
        j: 10,
        guesses: 1000,
        guessesLog10: 2.9999999999999996,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: null,
        seconds: 46843200000,
        display: 'centuries',
      },
      onlineNoThrottlingXPerSecond: {
        base: 4,
        seconds: 130120000,
        display: '4 years',
      },
      offlineSlowHashingXPerSecond: {
        base: 2,
        seconds: 130120,
        display: '2 days',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 0.13012,
        display: 'less than a second',
      },
    },
    score: 3,
    feedback: {
      warning: null,
      suggestions: [],
    },
  },
  {
    calcTime: 0,
    password: 'horse stable battery',
    guesses: 1128013300000000,
    guessesLog10: 15.052314220287887,
    sequence: [
      {
        pattern: 'dictionary',
        i: 0,
        j: 4,
        token: 'horse',
        matchedWord: 'horse',
        rank: 862,
        dictionaryName: 'commonWords-en',
        reversed: false,
        l33t: false,
        baseGuesses: 862,
        uppercaseVariations: 1,
        l33tVariations: 1,
        guesses: 862,
        guessesLog10: 2.9355072658247123,
      },
      {
        pattern: 'bruteforce',
        token: ' stable ',
        i: 5,
        j: 12,
        guesses: 100000000,
        guessesLog10: 8,
      },
      {
        pattern: 'dictionary',
        i: 13,
        j: 19,
        token: 'battery',
        matchedWord: 'battery',
        rank: 2181,
        dictionaryName: 'wikipedia-en',
        reversed: false,
        l33t: false,
        baseGuesses: 2181,
        uppercaseVariations: 1,
        l33tVariations: 1,
        guesses: 2181,
        guessesLog10: 3.3386556655787,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: null,
        seconds: 40608478800000000,
        display: 'centuries',
      },
      onlineNoThrottlingXPerSecond: {
        base: null,
        seconds: 112801330000000,
        display: 'centuries',
      },
      offlineSlowHashingXPerSecond: {
        base: null,
        seconds: 112801330000,
        display: 'centuries',
      },
      offlineFastHashingXPerSecond: {
        base: 1,
        seconds: 112801.33,
        display: '1 day',
      },
    },
    score: 4,
    feedback: {
      warning: null,
      suggestions: [],
    },
  },
  {
    calcTime: 0,
    password: 'a65a54cf-eadb-4f7c-893c-9d4a6f81f8c2',
    guesses: 9.999999999999999e35,
    guessesLog10: 35.99999999999999,
    sequence: [
      {
        pattern: 'bruteforce',
        token: 'a65a54cf-eadb-4f7c-893c-9d4a6f81f8c2',
        i: 0,
        j: 35,
        guesses: 9.999999999999999e35,
        guessesLog10: 35.99999999999999,
      },
    ],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: null,
        seconds: 3.6e37,
        display: 'centuries',
      },
      onlineNoThrottlingXPerSecond: {
        base: null,
        seconds: 1e35,
        display: 'centuries',
      },
      offlineSlowHashingXPerSecond: {
        base: null,
        seconds: 9.999999999999999e31,
        display: 'centuries',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 9.999999999999999e25,
        display: 'centuries',
      },
    },
    score: 4,
    feedback: {
      warning: null,
      suggestions: [],
    },
  },
  {
    calcTime: 0,
    password: '',
    guesses: 1,
    guessesLog10: 0,
    sequence: [],
    crackTimes: {
      onlineThrottlingXPerHour: {
        base: 36,
        seconds: 36,
        display: '36 seconds',
      },
      onlineNoThrottlingXPerSecond: {
        base: null,
        seconds: 0.1,
        display: 'less than a second',
      },
      offlineSlowHashingXPerSecond: {
        base: null,
        seconds: 0.0001,
        display: 'less than a second',
      },
      offlineFastHashingXPerSecond: {
        base: null,
        seconds: 1e-10,
        display: 'less than a second',
      },
    },
    score: 0,
    feedback: {
      warning: null,
      suggestions: [
        'Use multiple words, but avoid common phrases.',
        'You can create strong passwords without using symbols, numbers, or uppercase letters.',
      ],
    },
  },
]
